package com.ztesoft.web.filecommon.db.dao.mapper;

import com.ztesoft.web.filecommon.db.arg.FileScanRuleInstanceArg;
import com.ztesoft.web.filecommon.db.po.FileDirectoryDefinePO;
import com.ztesoft.web.filecommon.db.po.FileScanRuleInstancePO;

import java.math.*;
import java.util.*;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

public interface IFileScanRuleInstanceMapper {
    
    List<Integer> countByArg(FileScanRuleInstanceArg arg);

    List<FileScanRuleInstancePO> selectByArg(FileScanRuleInstanceArg arg);

    FileScanRuleInstancePO selectByPrimaryKey(Integer id);
    
    FileScanRuleInstancePO selectTargetBySourceDataId(Integer sourceDataId);
    
    List<FileScanRuleInstancePO> selectPOBySourceDataId(Integer sourceDataId);

    List<FileScanRuleInstancePO> selectByArgAndPage(FileScanRuleInstanceArg arg, RowBounds rowBound);

    int insert(FileScanRuleInstancePO record);

    int insertSelective(FileScanRuleInstancePO record);
    
    List<FileScanRuleInstancePO> selectByDmStrategyId(Integer dmStrategyId);

    int insertBatch(@Param("list") List<FileScanRuleInstancePO> records);

    int updateByArgSelective(@Param("record") FileScanRuleInstancePO record,
            @Param("arg") FileScanRuleInstanceArg arg);

    int updateByArg(@Param("record") FileScanRuleInstancePO record,
            @Param("arg") FileScanRuleInstanceArg arg);

    int updateByPrimaryKeySelective(FileScanRuleInstancePO record);

    int updateByPrimaryKey(FileScanRuleInstancePO record);
    
    int deleteByArg(FileScanRuleInstanceArg arg);
    
    int updataTo00A(FileScanRuleInstanceArg arg);
    
    int deleteByPrimaryKey(Integer id);
    
}